package com.ztgf.order.mapper.purchase;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.ztgf.order.models.bo.purchase.*;
import com.ztgf.order.models.dto.purchase.PurchaseInfoDTO;
import com.ztgf.order.models.vo.purchase.PurchaseInfoExportVO;
import com.ztgf.order.models.vo.purchase.PurchaseInfoVO;
import com.ztgf.shopping.models.dto.shop.ShopSysInvoiceDTO;

import java.util.List;

/**
 * 采购信息表映射
 *
 * @author mxli
 * @Date 2021-05-17 10:15:52
 */
public interface PurchaseInfoMapper extends BaseMapper<PurchaseInfoDTO> {

    List<PurchaseInfoVO> queryBuyPageList(Page<PurchaseInfoVO> page, PurchaseInfoBuyBO bo);

    List<PurchaseInfoVO> querySellPageList(Page<PurchaseInfoVO> page, PurchaseInfoSellBO bo);

    List<PurchaseInfoVO>  queryHomePageList(Page<PurchaseInfoVO> page, PurchaseInfoHomeBO bo);

    List<PurchaseInfoVO>  queryCmsHomePageList(Page<PurchaseInfoVO> page, PurchaseInfoHomeBO bo);

    List<PurchaseInfoVO>  queryPlatBargainPageList(Page<PurchaseInfoVO> page, PurchaseInfoPlatBargainBO bo);

    List<PurchaseInfoVO>  queryAdminPageList(Page<PurchaseInfoVO> page, PurchaseInfoAdminBO bo);

    List<PurchaseInfoVO>  queryOwnPageList(Page<PurchaseInfoVO> page, PurchaseInfoOwnBO bo);

    PurchaseInfoVO get(Long id);

    List<ShopSysInvoiceDTO> getSynchronizationShopSysInvoiceBuy();//同步固定申请平台砍价固定费率29.8（买家）

    /**
     * 导出买家报价单列表
     * @param bo
     * @return
     */
    List<PurchaseInfoExportVO> queryExportBuyList(PurchaseInfoBuyBO bo);

    /**
     * 导出卖家报价单列表
     * @param bo
     * @return
     */
    List<PurchaseInfoExportVO> queryExportSellList(PurchaseInfoSellBO bo);

    /**
     * 导出平台发布报价单列表
     * @param bo
     * @return
     */
    List<PurchaseInfoExportVO> queryExportOwnList(PurchaseInfoOwnBO bo);

    /**
     * 导出admin报价单列表
     * @param bo
     * @return
     */
    List<PurchaseInfoExportVO> queryExportAdminList(PurchaseInfoAdminBO bo);

    /**
     * admin导出平台砍价列表
     * @param bo
     * @return
     */
    List<PurchaseInfoExportVO> queryExportPlatBargainList(PurchaseInfoPlatBargainBO bo);
}
